<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IgH EtherCAT Master: globals.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IgH EtherCAT Master
   &#160;<span id="projectnumber">1.5.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('globals_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">globals.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Global definitions and macros.  
<a href="#details">More...</a></p>

<p><a href="globals_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__sii__coe__details__t.html">ec_sii_coe_details_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave information interface CANopen over EtherCAT details flags.  <a href="structec__sii__coe__details__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__sii__general__flags__t.html">ec_sii_general_flags_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave information interface general flags.  <a href="structec__sii__general__flags__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__sync__signal__t.html">ec_sync_signal_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EtherCAT slave sync signal configuration.  <a href="structec__sync__signal__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__code__msg__t.html">ec_code_msg_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code/Message pair.  <a href="structec__code__msg__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a58d5397d9106471647af3135e26fa09b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a58d5397d9106471647af3135e26fa09b">EC_IO_TIMEOUT</a>&#160;&#160;&#160;500</td></tr>
<tr class="memdesc:a58d5397d9106471647af3135e26fa09b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Datagram timeout in microseconds.  <a href="#a58d5397d9106471647af3135e26fa09b">More...</a><br /></td></tr>
<tr class="separator:a58d5397d9106471647af3135e26fa09b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfd4f1137907ae9ac52dd2cd4524d775"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#adfd4f1137907ae9ac52dd2cd4524d775">EC_SDO_INJECTION_TIMEOUT</a>&#160;&#160;&#160;10000</td></tr>
<tr class="memdesc:adfd4f1137907ae9ac52dd2cd4524d775"><td class="mdescLeft">&#160;</td><td class="mdescRight">SDO injection timeout in microseconds.  <a href="#adfd4f1137907ae9ac52dd2cd4524d775">More...</a><br /></td></tr>
<tr class="separator:adfd4f1137907ae9ac52dd2cd4524d775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0947a510c37156d1f69ff64903579631"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a0947a510c37156d1f69ff64903579631">EC_BYTE_TRANSMISSION_TIME_NS</a>&#160;&#160;&#160;80</td></tr>
<tr class="memdesc:a0947a510c37156d1f69ff64903579631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time to send a byte in nanoseconds.  <a href="#a0947a510c37156d1f69ff64903579631">More...</a><br /></td></tr>
<tr class="separator:a0947a510c37156d1f69ff64903579631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23a5e3d7f269f14bea7017438c72d208"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a23a5e3d7f269f14bea7017438c72d208">EC_FSM_RETRIES</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a23a5e3d7f269f14bea7017438c72d208"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of state machine retries on datagram timeout.  <a href="#a23a5e3d7f269f14bea7017438c72d208">More...</a><br /></td></tr>
<tr class="separator:a23a5e3d7f269f14bea7017438c72d208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54806e076fcb6f09b945393273530c13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a54806e076fcb6f09b945393273530c13">EC_WAIT_SDO_DICT</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a54806e076fcb6f09b945393273530c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seconds to wait before fetching SDO dictionary after slave entered PREOP state.  <a href="#a54806e076fcb6f09b945393273530c13">More...</a><br /></td></tr>
<tr class="separator:a54806e076fcb6f09b945393273530c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de201db5fcf72a3acf152700008e083"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a1de201db5fcf72a3acf152700008e083">EC_STATE_STRING_SIZE</a>&#160;&#160;&#160;32</td></tr>
<tr class="memdesc:a1de201db5fcf72a3acf152700008e083"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum size of a buffer used with <a class="el" href="globals_8h.html#a5492e579e30e1bb9351cd601a89e238b" title="Prints slave states in clear text. ">ec_state_string()</a>.  <a href="#a1de201db5fcf72a3acf152700008e083">More...</a><br /></td></tr>
<tr class="separator:a1de201db5fcf72a3acf152700008e083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01c6518f4ab51df91aca7b61d56c4035"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a01c6518f4ab51df91aca7b61d56c4035">EC_MAX_SII_SIZE</a>&#160;&#160;&#160;4096</td></tr>
<tr class="memdesc:a01c6518f4ab51df91aca7b61d56c4035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum SII size in words, to avoid infinite reading.  <a href="#a01c6518f4ab51df91aca7b61d56c4035">More...</a><br /></td></tr>
<tr class="separator:a01c6518f4ab51df91aca7b61d56c4035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00b477d166c2d09b9fea5d43c0c1cd48"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a00b477d166c2d09b9fea5d43c0c1cd48">EC_RATE_COUNT</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a00b477d166c2d09b9fea5d43c0c1cd48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of statistic rate intervals to maintain.  <a href="#a00b477d166c2d09b9fea5d43c0c1cd48">More...</a><br /></td></tr>
<tr class="separator:a00b477d166c2d09b9fea5d43c0c1cd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5adae0638188319662b058ab045226fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a5adae0638188319662b058ab045226fa">EC_FRAME_HEADER_SIZE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a5adae0638188319662b058ab045226fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of an EtherCAT frame header.  <a href="#a5adae0638188319662b058ab045226fa">More...</a><br /></td></tr>
<tr class="separator:a5adae0638188319662b058ab045226fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c4982c6eac314abb0768e05774237a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a6c4982c6eac314abb0768e05774237a8">EC_DATAGRAM_HEADER_SIZE</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:a6c4982c6eac314abb0768e05774237a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of an EtherCAT datagram header.  <a href="#a6c4982c6eac314abb0768e05774237a8">More...</a><br /></td></tr>
<tr class="separator:a6c4982c6eac314abb0768e05774237a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaec3f4b21567ed1271af111a6b09f43a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#aaec3f4b21567ed1271af111a6b09f43a">EC_DATAGRAM_FOOTER_SIZE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:aaec3f4b21567ed1271af111a6b09f43a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of an EtherCAT datagram footer.  <a href="#aaec3f4b21567ed1271af111a6b09f43a">More...</a><br /></td></tr>
<tr class="separator:aaec3f4b21567ed1271af111a6b09f43a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a636410fd74a8e87229296654da52d250"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a636410fd74a8e87229296654da52d250">EC_ADDR_LEN</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:a636410fd74a8e87229296654da52d250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the EtherCAT address field.  <a href="#a636410fd74a8e87229296654da52d250">More...</a><br /></td></tr>
<tr class="separator:a636410fd74a8e87229296654da52d250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e04c301942ee12b54c2caa25d3caab5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a1e04c301942ee12b54c2caa25d3caab5">EC_MAX_DATA_SIZE</a></td></tr>
<tr class="memdesc:a1e04c301942ee12b54c2caa25d3caab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resulting maximum data size of a single datagram in a frame.  <a href="#a1e04c301942ee12b54c2caa25d3caab5">More...</a><br /></td></tr>
<tr class="separator:a1e04c301942ee12b54c2caa25d3caab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a189582ffd5ea94b41b00482c04968291"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a189582ffd5ea94b41b00482c04968291">EC_MBOX_HEADER_SIZE</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:a189582ffd5ea94b41b00482c04968291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mailbox header size.  <a href="#a189582ffd5ea94b41b00482c04968291">More...</a><br /></td></tr>
<tr class="separator:a189582ffd5ea94b41b00482c04968291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53e014f821fa17635fa4ad260fce2512"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a53e014f821fa17635fa4ad260fce2512">EC_FIRST_SII_CATEGORY_OFFSET</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:a53e014f821fa17635fa4ad260fce2512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Word offset of first SII category.  <a href="#a53e014f821fa17635fa4ad260fce2512">More...</a><br /></td></tr>
<tr class="separator:a53e014f821fa17635fa4ad260fce2512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094d565a4898d8ed65222fcd6f96f6fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a094d565a4898d8ed65222fcd6f96f6fb">EC_SYNC_PAGE_SIZE</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:a094d565a4898d8ed65222fcd6f96f6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of a sync manager configuration page.  <a href="#a094d565a4898d8ed65222fcd6f96f6fb">More...</a><br /></td></tr>
<tr class="separator:a094d565a4898d8ed65222fcd6f96f6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ef0b04594f3ae62859391b9307cbb1f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a7ef0b04594f3ae62859391b9307cbb1f">EC_MAX_FMMUS</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:a7ef0b04594f3ae62859391b9307cbb1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of FMMUs per slave.  <a href="#a7ef0b04594f3ae62859391b9307cbb1f">More...</a><br /></td></tr>
<tr class="separator:a7ef0b04594f3ae62859391b9307cbb1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e0360410ca3cc2357e27b566951d52d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a1e0360410ca3cc2357e27b566951d52d">EC_FMMU_PAGE_SIZE</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:a1e0360410ca3cc2357e27b566951d52d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of an FMMU configuration page.  <a href="#a1e0360410ca3cc2357e27b566951d52d">More...</a><br /></td></tr>
<tr class="separator:a1e0360410ca3cc2357e27b566951d52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd0d53ff30f80384b0d7f26a159a79e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a5fd0d53ff30f80384b0d7f26a159a79e">EC_SYNC_SIGNAL_COUNT</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a5fd0d53ff30f80384b0d7f26a159a79e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of DC sync signals.  <a href="#a5fd0d53ff30f80384b0d7f26a159a79e">More...</a><br /></td></tr>
<tr class="separator:a5fd0d53ff30f80384b0d7f26a159a79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac67cff75d900b9f1112a4c1a635e495d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ac67cff75d900b9f1112a4c1a635e495d">EC_DATAGRAM_NAME_SIZE</a>&#160;&#160;&#160;20</td></tr>
<tr class="memdesc:ac67cff75d900b9f1112a4c1a635e495d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the datagram description string.  <a href="#ac67cff75d900b9f1112a4c1a635e495d">More...</a><br /></td></tr>
<tr class="separator:ac67cff75d900b9f1112a4c1a635e495d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372d9b2d6575b0a9550533be831424c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a372d9b2d6575b0a9550533be831424c2">EC_SLAVE_STATE_MASK</a>&#160;&#160;&#160;0x0F</td></tr>
<tr class="memdesc:a372d9b2d6575b0a9550533be831424c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave state mask.  <a href="#a372d9b2d6575b0a9550533be831424c2">More...</a><br /></td></tr>
<tr class="separator:a372d9b2d6575b0a9550533be831424c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af96ee5cdd88c3c45a899d15ce40f371c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#af96ee5cdd88c3c45a899d15ce40f371c">EC_INFO</a>(fmt,  args...)&#160;&#160;&#160;printk(KERN_INFO &quot;EtherCAT: &quot; fmt, ##args)</td></tr>
<tr class="memdesc:af96ee5cdd88c3c45a899d15ce40f371c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience macro for printing EtherCAT-specific information to syslog.  <a href="#af96ee5cdd88c3c45a899d15ce40f371c">More...</a><br /></td></tr>
<tr class="separator:af96ee5cdd88c3c45a899d15ce40f371c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed23297031f2f23bb5d005bb586790cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#aed23297031f2f23bb5d005bb586790cf">EC_ERR</a>(fmt,  args...)&#160;&#160;&#160;printk(KERN_ERR &quot;EtherCAT ERROR: &quot; fmt, ##args)</td></tr>
<tr class="memdesc:aed23297031f2f23bb5d005bb586790cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience macro for printing EtherCAT-specific errors to syslog.  <a href="#aed23297031f2f23bb5d005bb586790cf">More...</a><br /></td></tr>
<tr class="separator:aed23297031f2f23bb5d005bb586790cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a268d5c7947aba061aee9ba26ae5e54cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a268d5c7947aba061aee9ba26ae5e54cf">EC_WARN</a>(fmt,  args...)&#160;&#160;&#160;printk(KERN_WARNING &quot;EtherCAT WARNING: &quot; fmt, ##args)</td></tr>
<tr class="memdesc:a268d5c7947aba061aee9ba26ae5e54cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience macro for printing EtherCAT-specific warnings to syslog.  <a href="#a268d5c7947aba061aee9ba26ae5e54cf">More...</a><br /></td></tr>
<tr class="separator:a268d5c7947aba061aee9ba26ae5e54cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1b60b9f7b88d42c2563c45dbd4ca478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#af1b60b9f7b88d42c2563c45dbd4ca478">EC_DBG</a>(fmt,  args...)&#160;&#160;&#160;printk(KERN_DEBUG &quot;EtherCAT DEBUG: &quot; fmt, ##args)</td></tr>
<tr class="memdesc:af1b60b9f7b88d42c2563c45dbd4ca478"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience macro for printing EtherCAT debug messages to syslog.  <a href="#af1b60b9f7b88d42c2563c45dbd4ca478">More...</a><br /></td></tr>
<tr class="separator:af1b60b9f7b88d42c2563c45dbd4ca478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c6887b44e71940bf7c8bdde8075d82"><td class="memItemLeft" align="right" valign="top"><a id="a13c6887b44e71940bf7c8bdde8075d82"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a13c6887b44e71940bf7c8bdde8075d82">EC_ABS</a>(X)&#160;&#160;&#160;((X) &gt;= 0 ? (X) : -(X))</td></tr>
<tr class="memdesc:a13c6887b44e71940bf7c8bdde8075d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value. <br /></td></tr>
<tr class="separator:a13c6887b44e71940bf7c8bdde8075d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a8d9ffff7dbe1babaa4786a63f2860d57"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structec__slave.html">ec_slave</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a8d9ffff7dbe1babaa4786a63f2860d57">ec_slave_t</a></td></tr>
<tr class="separator:a8d9ffff7dbe1babaa4786a63f2860d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a0e9c38c7520909d649fac451046dcde0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">ec_slave_state_t</a> { <br />
&#160;&#160;<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59">EC_SLAVE_STATE_UNKNOWN</a> = 0x00, 
<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff">EC_SLAVE_STATE_INIT</a> = 0x01, 
<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c">EC_SLAVE_STATE_PREOP</a> = 0x02, 
<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513">EC_SLAVE_STATE_BOOT</a> = 0x03, 
<br />
&#160;&#160;<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4">EC_SLAVE_STATE_SAFEOP</a> = 0x04, 
<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8">EC_SLAVE_STATE_OP</a> = 0x08, 
<a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82">EC_SLAVE_STATE_ACK_ERR</a> = 0x10
<br />
 }<tr class="memdesc:a0e9c38c7520909d649fac451046dcde0"><td class="mdescLeft">&#160;</td><td class="mdescRight">State of an EtherCAT slave.  <a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a0e9c38c7520909d649fac451046dcde0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b">EC_MBOX_AOE</a> = 0x01, 
<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2">EC_MBOX_EOE</a> = 0x02, 
<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076">EC_MBOX_COE</a> = 0x04, 
<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b">EC_MBOX_FOE</a> = 0x08, 
<br />
&#160;&#160;<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4">EC_MBOX_SOE</a> = 0x10, 
<a class="el" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95">EC_MBOX_VOE</a> = 0x20
<br />
 }<tr class="memdesc:adf764cbdea00d65edcd07bb9953ad2b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported mailbox protocols.  <a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:adf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cbf78c1663f1a9ba4d69b816bcd00f7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">ec_slave_dc_range_t</a> { <a class="el" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e">EC_DC_32</a>, 
<b>EC_DC_64</b>
 }<tr class="memdesc:a5cbf78c1663f1a9ba4d69b816bcd00f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">EtherCAT slave distributed clocks range.  <a href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a5cbf78c1663f1a9ba4d69b816bcd00f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936">EC_SDO_ENTRY_ACCESS_PREOP</a>, 
<a class="el" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce">EC_SDO_ENTRY_ACCESS_SAFEOP</a>, 
<a class="el" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb">EC_SDO_ENTRY_ACCESS_OP</a>, 
<a class="el" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466">EC_SDO_ENTRY_ACCESS_COUNT</a>
 }<tr class="memdesc:a99fb83031ce9923c84392b4e92f956b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access states for SDO entries.  <a href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1a2101422888687598d7e1a630c6343"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">ec_device_index_t</a> { <a class="el" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13">EC_DEVICE_MAIN</a>, 
<a class="el" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111">EC_DEVICE_BACKUP</a>
 }<tr class="memdesc:ad1a2101422888687598d7e1a630c6343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master devices.  <a href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ad1a2101422888687598d7e1a630c6343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e216ffa0b8f5e3ee20edd4c17d6174"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">ec_internal_request_state_t</a> { <br />
&#160;&#160;<b>EC_INT_REQUEST_INIT</b>, 
<b>EC_INT_REQUEST_QUEUED</b>, 
<b>EC_INT_REQUEST_BUSY</b>, 
<b>EC_INT_REQUEST_SUCCESS</b>, 
<br />
&#160;&#160;<b>EC_INT_REQUEST_FAILURE</b>
<br />
 }<tr class="memdesc:af8e216ffa0b8f5e3ee20edd4c17d6174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic request state.  <a href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:af8e216ffa0b8f5e3ee20edd4c17d6174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab62b6e667f97a3b63d18f8077487d249"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">ec_origin_t</a> { <a class="el" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4">EC_ORIG_INTERNAL</a>, 
<a class="el" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a">EC_ORIG_EXTERNAL</a>
 }<tr class="memdesc:ab62b6e667f97a3b63d18f8077487d249"><td class="mdescLeft">&#160;</td><td class="mdescRight">Origin type.  <a href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ab62b6e667f97a3b63d18f8077487d249"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4262f13e24a72428a0760f9e4e910597"><td class="memItemLeft" align="right" valign="top"><a id="a4262f13e24a72428a0760f9e4e910597"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a4262f13e24a72428a0760f9e4e910597">ec_master_count</a> (void)</td></tr>
<tr class="memdesc:a4262f13e24a72428a0760f9e4e910597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of masters. <br /></td></tr>
<tr class="separator:a4262f13e24a72428a0760f9e4e910597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9b1cee5f8eb11448141bd02d52f44ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#af9b1cee5f8eb11448141bd02d52f44ac">ec_print_data</a> (const uint8_t *, size_t)</td></tr>
<tr class="memdesc:af9b1cee5f8eb11448141bd02d52f44ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs frame contents for debugging purposes.  <a href="#af9b1cee5f8eb11448141bd02d52f44ac">More...</a><br /></td></tr>
<tr class="separator:af9b1cee5f8eb11448141bd02d52f44ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e3a18636f05dd048ddd4fd455d07983"><td class="memItemLeft" align="right" valign="top"><a id="a2e3a18636f05dd048ddd4fd455d07983"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a2e3a18636f05dd048ddd4fd455d07983">ec_print_data_diff</a> (const uint8_t *, const uint8_t *, size_t)</td></tr>
<tr class="memdesc:a2e3a18636f05dd048ddd4fd455d07983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs frame contents and differences for debugging purposes. <br /></td></tr>
<tr class="separator:a2e3a18636f05dd048ddd4fd455d07983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5492e579e30e1bb9351cd601a89e238b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a5492e579e30e1bb9351cd601a89e238b">ec_state_string</a> (uint8_t, char *, uint8_t)</td></tr>
<tr class="memdesc:a5492e579e30e1bb9351cd601a89e238b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints slave states in clear text.  <a href="#a5492e579e30e1bb9351cd601a89e238b">More...</a><br /></td></tr>
<tr class="separator:a5492e579e30e1bb9351cd601a89e238b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a494695f2cebf0403348cb6281e0af0c9"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a494695f2cebf0403348cb6281e0af0c9">ec_mac_print</a> (const uint8_t *, char *)</td></tr>
<tr class="memdesc:a494695f2cebf0403348cb6281e0af0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a MAC address to a buffer.  <a href="#a494695f2cebf0403348cb6281e0af0c9">More...</a><br /></td></tr>
<tr class="separator:a494695f2cebf0403348cb6281e0af0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d094eb49bc156c06af74b02eb8708d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a41d094eb49bc156c06af74b02eb8708d">ec_mac_is_zero</a> (const uint8_t *)</td></tr>
<tr class="separator:a41d094eb49bc156c06af74b02eb8708d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba359debd8aebe89887ab68f1c831ab5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ApplicationInterface.html#ga60ec31b46fcf7994c511359402c64baa">ec_master_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#aba359debd8aebe89887ab68f1c831ab5">ecrt_request_master_err</a> (unsigned int)</td></tr>
<tr class="memdesc:aba359debd8aebe89887ab68f1c831ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request a master.  <a href="#aba359debd8aebe89887ab68f1c831ab5">More...</a><br /></td></tr>
<tr class="separator:aba359debd8aebe89887ab68f1c831ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ab60dd3400b4ae7f326c3edb327505829"><td class="memItemLeft" align="right" valign="top"><a id="ab60dd3400b4ae7f326c3edb327505829"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ab60dd3400b4ae7f326c3edb327505829">ec_device_names</a> [2]</td></tr>
<tr class="memdesc:ab60dd3400b4ae7f326c3edb327505829"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device names. <br /></td></tr>
<tr class="separator:ab60dd3400b4ae7f326c3edb327505829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5580493c8bf2eaa43174a4fe78abc72"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ab5580493c8bf2eaa43174a4fe78abc72">ec_master_version_str</a></td></tr>
<tr class="memdesc:ab5580493c8bf2eaa43174a4fe78abc72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version string.  <a href="#ab5580493c8bf2eaa43174a4fe78abc72">More...</a><br /></td></tr>
<tr class="separator:ab5580493c8bf2eaa43174a4fe78abc72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a9e581016f6c49ce672ccd2784c0b50"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__ApplicationInterface.html#gae94149f829f04960c62d63764a7779df">ec_request_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#a3a9e581016f6c49ce672ccd2784c0b50">ec_request_state_translation_table</a> []</td></tr>
<tr class="memdesc:a3a9e581016f6c49ce672ccd2784c0b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global request state type translation table.  <a href="#a3a9e581016f6c49ce672ccd2784c0b50">More...</a><br /></td></tr>
<tr class="separator:a3a9e581016f6c49ce672ccd2784c0b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Global definitions and macros. </p>

<p class="definition">Definition in file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a58d5397d9106471647af3135e26fa09b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58d5397d9106471647af3135e26fa09b">&#9670;&nbsp;</a></span>EC_IO_TIMEOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_IO_TIMEOUT&#160;&#160;&#160;500</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Datagram timeout in microseconds. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00047">47</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="adfd4f1137907ae9ac52dd2cd4524d775"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfd4f1137907ae9ac52dd2cd4524d775">&#9670;&nbsp;</a></span>EC_SDO_INJECTION_TIMEOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_SDO_INJECTION_TIMEOUT&#160;&#160;&#160;10000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SDO injection timeout in microseconds. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00050">50</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a0947a510c37156d1f69ff64903579631"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0947a510c37156d1f69ff64903579631">&#9670;&nbsp;</a></span>EC_BYTE_TRANSMISSION_TIME_NS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_BYTE_TRANSMISSION_TIME_NS&#160;&#160;&#160;80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Time to send a byte in nanoseconds. </p>
<p>t_ns = 1 / (100 MBit/s / 8 bit/byte) = 80 ns/byte </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00056">56</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a23a5e3d7f269f14bea7017438c72d208"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23a5e3d7f269f14bea7017438c72d208">&#9670;&nbsp;</a></span>EC_FSM_RETRIES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_FSM_RETRIES&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of state machine retries on datagram timeout. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00059">59</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a54806e076fcb6f09b945393273530c13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54806e076fcb6f09b945393273530c13">&#9670;&nbsp;</a></span>EC_WAIT_SDO_DICT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_WAIT_SDO_DICT&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seconds to wait before fetching SDO dictionary after slave entered PREOP state. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00063">63</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a1de201db5fcf72a3acf152700008e083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1de201db5fcf72a3acf152700008e083">&#9670;&nbsp;</a></span>EC_STATE_STRING_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_STATE_STRING_SIZE&#160;&#160;&#160;32</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minimum size of a buffer used with <a class="el" href="globals_8h.html#a5492e579e30e1bb9351cd601a89e238b" title="Prints slave states in clear text. ">ec_state_string()</a>. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00066">66</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a01c6518f4ab51df91aca7b61d56c4035"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01c6518f4ab51df91aca7b61d56c4035">&#9670;&nbsp;</a></span>EC_MAX_SII_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_MAX_SII_SIZE&#160;&#160;&#160;4096</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum SII size in words, to avoid infinite reading. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00069">69</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a00b477d166c2d09b9fea5d43c0c1cd48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00b477d166c2d09b9fea5d43c0c1cd48">&#9670;&nbsp;</a></span>EC_RATE_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_RATE_COUNT&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of statistic rate intervals to maintain. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00072">72</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a5adae0638188319662b058ab045226fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5adae0638188319662b058ab045226fa">&#9670;&nbsp;</a></span>EC_FRAME_HEADER_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_FRAME_HEADER_SIZE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of an EtherCAT frame header. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00079">79</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a6c4982c6eac314abb0768e05774237a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c4982c6eac314abb0768e05774237a8">&#9670;&nbsp;</a></span>EC_DATAGRAM_HEADER_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_DATAGRAM_HEADER_SIZE&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of an EtherCAT datagram header. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00082">82</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="aaec3f4b21567ed1271af111a6b09f43a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaec3f4b21567ed1271af111a6b09f43a">&#9670;&nbsp;</a></span>EC_DATAGRAM_FOOTER_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_DATAGRAM_FOOTER_SIZE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of an EtherCAT datagram footer. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00085">85</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a636410fd74a8e87229296654da52d250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a636410fd74a8e87229296654da52d250">&#9670;&nbsp;</a></span>EC_ADDR_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_ADDR_LEN&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of the EtherCAT address field. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00088">88</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a1e04c301942ee12b54c2caa25d3caab5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e04c301942ee12b54c2caa25d3caab5">&#9670;&nbsp;</a></span>EC_MAX_DATA_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_MAX_DATA_SIZE</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(ETH_DATA_LEN - <a class="code" href="globals_8h.html#a5adae0638188319662b058ab045226fa">EC_FRAME_HEADER_SIZE</a> \</div><div class="line">                          - <a class="code" href="globals_8h.html#a6c4982c6eac314abb0768e05774237a8">EC_DATAGRAM_HEADER_SIZE</a> - <a class="code" href="globals_8h.html#aaec3f4b21567ed1271af111a6b09f43a">EC_DATAGRAM_FOOTER_SIZE</a>)</div><div class="ttc" id="globals_8h_html_a5adae0638188319662b058ab045226fa"><div class="ttname"><a href="globals_8h.html#a5adae0638188319662b058ab045226fa">EC_FRAME_HEADER_SIZE</a></div><div class="ttdeci">#define EC_FRAME_HEADER_SIZE</div><div class="ttdoc">Size of an EtherCAT frame header. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00079">globals.h:79</a></div></div>
<div class="ttc" id="globals_8h_html_a6c4982c6eac314abb0768e05774237a8"><div class="ttname"><a href="globals_8h.html#a6c4982c6eac314abb0768e05774237a8">EC_DATAGRAM_HEADER_SIZE</a></div><div class="ttdeci">#define EC_DATAGRAM_HEADER_SIZE</div><div class="ttdoc">Size of an EtherCAT datagram header. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00082">globals.h:82</a></div></div>
<div class="ttc" id="globals_8h_html_aaec3f4b21567ed1271af111a6b09f43a"><div class="ttname"><a href="globals_8h.html#aaec3f4b21567ed1271af111a6b09f43a">EC_DATAGRAM_FOOTER_SIZE</a></div><div class="ttdeci">#define EC_DATAGRAM_FOOTER_SIZE</div><div class="ttdoc">Size of an EtherCAT datagram footer. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00085">globals.h:85</a></div></div>
</div><!-- fragment -->
<p>Resulting maximum data size of a single datagram in a frame. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00091">91</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a189582ffd5ea94b41b00482c04968291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a189582ffd5ea94b41b00482c04968291">&#9670;&nbsp;</a></span>EC_MBOX_HEADER_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_MBOX_HEADER_SIZE&#160;&#160;&#160;6</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mailbox header size. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00095">95</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a53e014f821fa17635fa4ad260fce2512"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53e014f821fa17635fa4ad260fce2512">&#9670;&nbsp;</a></span>EC_FIRST_SII_CATEGORY_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_FIRST_SII_CATEGORY_OFFSET&#160;&#160;&#160;0x40</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Word offset of first SII category. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00098">98</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a094d565a4898d8ed65222fcd6f96f6fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a094d565a4898d8ed65222fcd6f96f6fb">&#9670;&nbsp;</a></span>EC_SYNC_PAGE_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_SYNC_PAGE_SIZE&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of a sync manager configuration page. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00101">101</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a7ef0b04594f3ae62859391b9307cbb1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ef0b04594f3ae62859391b9307cbb1f">&#9670;&nbsp;</a></span>EC_MAX_FMMUS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_MAX_FMMUS&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum number of FMMUs per slave. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00104">104</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a1e0360410ca3cc2357e27b566951d52d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e0360410ca3cc2357e27b566951d52d">&#9670;&nbsp;</a></span>EC_FMMU_PAGE_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_FMMU_PAGE_SIZE&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of an FMMU configuration page. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00107">107</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a5fd0d53ff30f80384b0d7f26a159a79e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fd0d53ff30f80384b0d7f26a159a79e">&#9670;&nbsp;</a></span>EC_SYNC_SIGNAL_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_SYNC_SIGNAL_COUNT&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of DC sync signals. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00110">110</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="ac67cff75d900b9f1112a4c1a635e495d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac67cff75d900b9f1112a4c1a635e495d">&#9670;&nbsp;</a></span>EC_DATAGRAM_NAME_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_DATAGRAM_NAME_SIZE&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of the datagram description string. </p>
<p>This is also used as the maximum lenth of EoE device names. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00116">116</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a372d9b2d6575b0a9550533be831424c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a372d9b2d6575b0a9550533be831424c2">&#9670;&nbsp;</a></span>EC_SLAVE_STATE_MASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_SLAVE_STATE_MASK&#160;&#160;&#160;0x0F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Slave state mask. </p>
<p>Apply this mask to a slave state byte to get the slave state without the error flag. </p>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00123">123</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="af96ee5cdd88c3c45a899d15ce40f371c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af96ee5cdd88c3c45a899d15ce40f371c">&#9670;&nbsp;</a></span>EC_INFO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_INFO</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">args...&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;printk(KERN_INFO &quot;EtherCAT: &quot; fmt, ##args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convenience macro for printing EtherCAT-specific information to syslog. </p>
<p>This will print the message in <em>fmt</em> with a prefixed "EtherCAT: ".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmt</td><td>format string (like in printf()) </td></tr>
    <tr><td class="paramname">args</td><td>arguments (optional) </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00217">217</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="aed23297031f2f23bb5d005bb586790cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed23297031f2f23bb5d005bb586790cf">&#9670;&nbsp;</a></span>EC_ERR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_ERR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">args...&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;printk(KERN_ERR &quot;EtherCAT ERROR: &quot; fmt, ##args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convenience macro for printing EtherCAT-specific errors to syslog. </p>
<p>This will print the message in <em>fmt</em> with a prefixed "EtherCAT ERROR: ".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmt</td><td>format string (like in printf()) </td></tr>
    <tr><td class="paramname">args</td><td>arguments (optional) </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00227">227</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a268d5c7947aba061aee9ba26ae5e54cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a268d5c7947aba061aee9ba26ae5e54cf">&#9670;&nbsp;</a></span>EC_WARN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_WARN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">args...&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;printk(KERN_WARNING &quot;EtherCAT WARNING: &quot; fmt, ##args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convenience macro for printing EtherCAT-specific warnings to syslog. </p>
<p>This will print the message in <em>fmt</em> with a prefixed "EtherCAT WARNING: ".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmt</td><td>format string (like in printf()) </td></tr>
    <tr><td class="paramname">args</td><td>arguments (optional) </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00237">237</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="af1b60b9f7b88d42c2563c45dbd4ca478"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1b60b9f7b88d42c2563c45dbd4ca478">&#9670;&nbsp;</a></span>EC_DBG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_DBG</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">args...&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;printk(KERN_DEBUG &quot;EtherCAT DEBUG: &quot; fmt, ##args)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convenience macro for printing EtherCAT debug messages to syslog. </p>
<p>This will print the message in <em>fmt</em> with a prefixed "EtherCAT DEBUG: ".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmt</td><td>format string (like in printf()) </td></tr>
    <tr><td class="paramname">args</td><td>arguments (optional) </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00247">247</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a8d9ffff7dbe1babaa4786a63f2860d57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d9ffff7dbe1babaa4786a63f2860d57">&#9670;&nbsp;</a></span>ec_slave_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structec__slave.html">ec_slave</a> <a class="el" href="globals_8h.html#a8d9ffff7dbe1babaa4786a63f2860d57">ec_slave_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structec__slave.html" title="EtherCAT slave. ">ec_slave</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00313">313</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a0e9c38c7520909d649fac451046dcde0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e9c38c7520909d649fac451046dcde0">&#9670;&nbsp;</a></span>ec_slave_state_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">ec_slave_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>State of an EtherCAT slave. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59"></a>EC_SLAVE_STATE_UNKNOWN&#160;</td><td class="fielddoc"><p>unknown state </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff"></a>EC_SLAVE_STATE_INIT&#160;</td><td class="fielddoc"><p>INIT state (no mailbox communication, no IO) </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c"></a>EC_SLAVE_STATE_PREOP&#160;</td><td class="fielddoc"><p>PREOP state (mailbox communication, no IO) </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513"></a>EC_SLAVE_STATE_BOOT&#160;</td><td class="fielddoc"><p>Bootstrap state (mailbox communication, firmware update) </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4"></a>EC_SLAVE_STATE_SAFEOP&#160;</td><td class="fielddoc"><p>SAFEOP (mailbox communication and input update) </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8"></a>EC_SLAVE_STATE_OP&#160;</td><td class="fielddoc"><p>OP (mailbox communication and input/output update) </p>
</td></tr>
<tr><td class="fieldname"><a id="a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82"></a>EC_SLAVE_STATE_ACK_ERR&#160;</td><td class="fielddoc"><p>Acknowledge/Error bit (no actual state) </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00127">127</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="adf764cbdea00d65edcd07bb9953ad2b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf764cbdea00d65edcd07bb9953ad2b7">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Supported mailbox protocols. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b"></a>EC_MBOX_AOE&#160;</td><td class="fielddoc"><p>ADS over EtherCAT. </p>
</td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2"></a>EC_MBOX_EOE&#160;</td><td class="fielddoc"><p>Ethernet over EtherCAT. </p>
</td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076"></a>EC_MBOX_COE&#160;</td><td class="fielddoc"><p>CANopen over EtherCAT. </p>
</td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b"></a>EC_MBOX_FOE&#160;</td><td class="fielddoc"><p>File-Access over EtherCAT. </p>
</td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4"></a>EC_MBOX_SOE&#160;</td><td class="fielddoc"><p>Servo-Profile over EtherCAT. </p>
</td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95"></a>EC_MBOX_VOE&#160;</td><td class="fielddoc"><p>Vendor specific. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00146">146</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a5cbf78c1663f1a9ba4d69b816bcd00f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cbf78c1663f1a9ba4d69b816bcd00f7">&#9670;&nbsp;</a></span>ec_slave_dc_range_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">ec_slave_dc_range_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>EtherCAT slave distributed clocks range. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e"></a>EC_DC_32&#160;</td><td class="fielddoc"><p>32 bit. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00175">175</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="a99fb83031ce9923c84392b4e92f956b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99fb83031ce9923c84392b4e92f956b5">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Access states for SDO entries. </p>
<p>The access rights are managed per AL state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936"></a>EC_SDO_ENTRY_ACCESS_PREOP&#160;</td><td class="fielddoc"><p>Access rights in PREOP. </p>
</td></tr>
<tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce"></a>EC_SDO_ENTRY_ACCESS_SAFEOP&#160;</td><td class="fielddoc"><p>Access rights in SAFEOP. </p>
</td></tr>
<tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb"></a>EC_SDO_ENTRY_ACCESS_OP&#160;</td><td class="fielddoc"><p>Access rights in OP. </p>
</td></tr>
<tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466"></a>EC_SDO_ENTRY_ACCESS_COUNT&#160;</td><td class="fielddoc"><p>Number of states. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00192">192</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="ad1a2101422888687598d7e1a630c6343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1a2101422888687598d7e1a630c6343">&#9670;&nbsp;</a></span>ec_device_index_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">ec_device_index_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Master devices. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13"></a>EC_DEVICE_MAIN&#160;</td><td class="fielddoc"><p>Main device. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111"></a>EC_DEVICE_BACKUP&#160;</td><td class="fielddoc"><p>Backup device. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00201">201</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="af8e216ffa0b8f5e3ee20edd4c17d6174"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e216ffa0b8f5e3ee20edd4c17d6174">&#9670;&nbsp;</a></span>ec_internal_request_state_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">ec_internal_request_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generic request state. </p>
<dl class="section attention"><dt>Attention</dt><dd>If ever changing this, please be sure to adjust the <em>state_table</em> in <a class="el" href="sdo__request_8c.html" title="Canopen over EtherCAT SDO request functions. ">master/sdo_request.c</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00290">290</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<a id="ab62b6e667f97a3b63d18f8077487d249"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab62b6e667f97a3b63d18f8077487d249">&#9670;&nbsp;</a></span>ec_origin_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">ec_origin_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Origin type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4"></a>EC_ORIG_INTERNAL&#160;</td><td class="fielddoc"><p>Internal. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a"></a>EC_ORIG_EXTERNAL&#160;</td><td class="fielddoc"><p>External. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="globals_8h_source.html#l00306">306</a> of file <a class="el" href="globals_8h_source.html">globals.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="af9b1cee5f8eb11448141bd02d52f44ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9b1cee5f8eb11448141bd02d52f44ac">&#9670;&nbsp;</a></span>ec_print_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ec_print_data </td>
          <td>(</td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Outputs frame contents for debugging purposes. </p>
<p>If the data block is larger than 256 bytes, only the first 128 and the last 128 bytes will be shown </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>pointer to data </td></tr>
    <tr><td class="paramname">size</td><td>number of bytes to output </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00341">341</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<a id="a5492e579e30e1bb9351cd601a89e238b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5492e579e30e1bb9351cd601a89e238b">&#9670;&nbsp;</a></span>ec_state_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ec_state_string </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>states</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>multi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prints slave states in clear text. </p>
<dl class="section return"><dt>Returns</dt><dd>Size of the created string. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">states</td><td>slave states </td></tr>
    <tr><td class="paramname">buffer</td><td>target buffer (min. EC_STATE_STRING_SIZE bytes) </td></tr>
    <tr><td class="paramname">multi</td><td>Show multi-state mask. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00394">394</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<a id="a494695f2cebf0403348cb6281e0af0c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a494695f2cebf0403348cb6281e0af0c9">&#9670;&nbsp;</a></span>ec_mac_print()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t ec_mac_print </td>
          <td>(</td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>mac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print a MAC address to a buffer. </p>
<p>The buffer size must be at least EC_MAX_MAC_STRING_SIZE.</p>
<dl class="section return"><dt>Returns</dt><dd>number of bytes written. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mac</td><td>MAC address </td></tr>
    <tr><td class="paramname">buffer</td><td>Target buffer. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00242">242</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<a id="a41d094eb49bc156c06af74b02eb8708d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41d094eb49bc156c06af74b02eb8708d">&#9670;&nbsp;</a></span>ec_mac_is_zero()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_mac_is_zero </td>
          <td>(</td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>mac</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true, if the MAC address is all-zero. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mac</td><td>MAC address. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00263">263</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<a id="aba359debd8aebe89887ab68f1c831ab5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba359debd8aebe89887ab68f1c831ab5">&#9670;&nbsp;</a></span>ecrt_request_master_err()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ApplicationInterface.html#ga60ec31b46fcf7994c511359402c64baa">ec_master_t</a>* ecrt_request_master_err </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>master_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request a master. </p>
<p>Same as <a class="el" href="group__ApplicationInterface.html#gafb85534b6fcba3fa1fab6c81173b2ed1" title="Requests an EtherCAT master for realtime operation. ">ecrt_request_master()</a>, but with ERR_PTR() return value.</p>
<dl class="section return"><dt>Returns</dt><dd>Requested master. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">master_index</td><td>Master index. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00530">530</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ab5580493c8bf2eaa43174a4fe78abc72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5580493c8bf2eaa43174a4fe78abc72">&#9670;&nbsp;</a></span>ec_master_version_str</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_master_version_str</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Version string. </p>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00071">71</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
<a id="a3a9e581016f6c49ce672ccd2784c0b50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a9e581016f6c49ce672ccd2784c0b50">&#9670;&nbsp;</a></span>ec_request_state_translation_table</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__ApplicationInterface.html#gae94149f829f04960c62d63764a7779df">ec_request_state_t</a> ec_request_state_translation_table[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Global request state type translation table. </p>
<p>Translates an internal request state to an external one. </p>

<p class="definition">Definition at line <a class="el" href="module_8c_source.html#l00651">651</a> of file <a class="el" href="module_8c_source.html">module.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_c1346cf4828efdd0d2baf0d391d01b77.html">master</a></li><li class="navelem"><a class="el" href="globals_8h.html">globals.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
